#打印问题
#当执行test(4),输出什么

def test(n):
    if n > 2:
        test(n - 1)
    print("n=" , n)

#执行
# test(4)


#阶乘问题
#阶乘，当执行 factorial(4),返回值是多少
def factorial(n):
    if n == 1:
        return 1
    else:
        return factorial(n-1)*n

#执行
# res = factorial(4)
# print(res)

"""
    递归重要规则 
    1.执行一个函数的时候,就创建一个新的空间(栈空间)
    2.函数的变量是独立的,比如n变量
    3.递归必须向退出递归的条件逼近,否则就是无限递归，就会穿线RecursionError : maxnum recursion depth exceeded 【死龟】
    4.当一个函数执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁
"""